
package ploy.compiler;

import java.util.*;

import org.objectweb.asm.*;
import org.objectweb.asm.util.*;
import org.objectweb.asm.commons.*;

import ploy.lang.*;

class DefineSyntax extends AST {

    private Symbol name;
    private AST value;

    public DefineSyntax( Symbol n, AST v ) {
	name = n;
	value = v;
    }

    public String toString( ) {
	return "(defineSyntax " + name.toString( ) + 
	    " " + value.toString( ) + ")";
    }

    protected TreeSet<Symbol> calculateFreeVars( ) {
	return new TreeSet<Symbol>( );
    }

    public TreeSet<Lambda> allLambdas( ) {
	return new TreeSet<Lambda>( );
    }

    public void locateVariables( VarLocationTable t ) {

    }

    public boolean hasRuntimeSemantics( ) {
	return false;
    }

    public FrameSize generateBytecode( MethodVisitor mv ) {
	return new FrameSize( 0, 0 );
    }

}